package main

import (
	"log"
)

// 了解到golang中的panic方法可以直接中断流程，感觉到沿着这个应该能找到解决方法。
// 了解了下panic的详细使用，其实也很简单，就是panic一下，如果需要捕获这个panic的错误，
// 就在外围的方法事先声明recover方法。
func a() {
	b()
	c()

	panic("a内错误")
	return
}

func b() {
	//	panic("b内错误")
}

func c() (err error) {
	panic("c内错误")
}

func main() {
	defer func() {
		if r := recover(); r != nil {
			log.Printf("Runtime error caught: %v", r)
		}
	}()

	a()
}
